home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 66579 / 66579.xpi / chrome / content / export.js next >
Text File  |  2010-02-04  |  1KB  |  45 lines

  1. if(!krkAddons) var krkAddons={};
  2. if(!krkAddons.cookieExporter) krkAddons.cookieExporter={};
  3.  
  4. krkAddons.cookieExporter.doExport = function(){
  5.  
  6.     var ifp = Components.interfaces.nsIFilePicker;
  7.     var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(ifp);
  8.  
  9.     fp.init(window, null, ifp.modeSave);
  10.     fp.appendFilters(ifp.filterAll | ifp.filterText);
  11.     fp.filterIndex = 1;
  12.     fp.defaultString = "cookies.txt";
  13.  
  14.     try{
  15.  
  16.         var rv = fp.show();
  17.  
  18.         if (rv == ifp.returnOK || rv == ifp.returnReplace) {
  19.  
  20.             var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
  21.             foStream.init(fp.file, 0x02 | 0x08 | 0x20, 0666, 0); // write, create, truncate
  22.  
  23.             var e = Components.classes["@mozilla.org/cookiemanager;1"].getService(Components.interfaces.nsICookieManager).enumerator;
  24.  
  25.             while(e.hasMoreElements()){
  26.                 var cc = e.getNext().QueryInterface(Components.interfaces.nsICookie);
  27.                 var cookieInfo = cc.host
  28.                                                     + "\t" + new String(cc.isDomain).toUpperCase()
  29.                                                     + "\t" + cc.path
  30.                                                     + "\t" + new String(cc.isSecure).toUpperCase()
  31.                                                     + "\t" + cc.expires
  32.                                                     + "\t" + cc.name
  33.                                                     + "\t" + cc.value
  34.                                                     + "\r\n";
  35.                 foStream.write(cookieInfo, cookieInfo.length);
  36.             }
  37.             
  38.             foStream.close();
  39.         }
  40.     }catch(err){ alert(err.toString()); }
  41.  
  42. };
  43.  
  44.  
  45.